This invention relates to array processing.
There exists a class of problems which involve performing similar sequences of operations on a large number of different sets of data. For example, in meteorological forecasting, the initial values of a number of variables (e.g. pressure, wind speed) are specified for each of a large number of grid points. Future values of the variables are then required to be calculated for each grid point from the initial data.
Clearly, such calculations can impose a very heavy load on a data processing system. In order to facilitate and to speed up the performance of such calculations, it has been proposed to provide array processing apparatus comprising a large number of processing elements with a common control unit which sends instructions to all the processing elements for execution in parallel. The processing elements can thus be arranged to handle the different sets of data concurrently, with a corresponding reduction in overall processing time. Such processing apparatus has been referred to as "single-instruction-stream multiple-data-stream" apparatus.
One such apparatus which has been proposed is the SOLOMON computer (Slotnick et al., Fall Joint Computer Conference 1962, Page 97; Gregory et al., IEEE Transactions on Electronic Computers, Dec. 1963, Page 774). This consists of an array of relatively simple processing elements, each of which is arranged to perform arithmetic operations upon input data in a bit-serial manner. A development of this is the ILLIAC IV computer (Barnes et al., IEEE Transactions on Computers, Aug. 1968, page 746; Bouknight et al., Proceedings of the IEEE, April 1972, page 369). Again, this consists of an array of processing elements, but each element is considerably more complex than in the SOLOMON case, and performs airthmetic operations in a bit-parallel manner.